home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Free 20
/
Commodore_Free_Issue_20_2008_Commodore_Computer_Club.d64
/
t.iv nightlord1
< prev
next >
Wrap
Text File
|
2023-02-26
|
9KB
|
280 lines
u
Interview with Nightlord Commodore 64
programmer
COMMODORE FREE: Please introduce
yourself to our readers
NIGHTLORD: My name is Bilgem Cakir &
I am more widely known as Nightlord/
Glance. I am a coder mostly and I
occasionally do graphics & music. I
also write for various publications
from time to time.
CF: Should we call you Nightlord?,
where did the handle come from?
NL: Yep you can call me Nightlord or
Bilgem whichever you like. The handle
comes from my teenage years where I
was trying to come up with a handle
that had to do with night & darkness
(since I mostly coded at nights) &
with a powerful title (possibly
because of low self esteem :) )
CF: You were a coder with Glance &
Civitas can you tell our reader about
these groups?
NL: Glance is a relatively new group
that released its debut demo called
Living in 2005.
I think it is one of the few (few
meaning maybe 10) active groups in the
C64 demo scene that has a potential to
do some serious technical demos.
Unfortunately we have somewhat
disappointed ourselves & our friends &
in the scene by not releasing our 2nd
demo, but hopefully we will do that
soon enough. It is a group made of
sceners that had been active in other
groups before. My fellow group mates
are Arcane (gfx), Datura (gfx), Endo
(code), Hydrogen (gfx, msx) & Skate
(code). There is also a surprise
addition to our team recently but we
have decided to not announce it
officially until we release our demo
in which he takes part (ahhh the games
we play :) ). So I will not tell who
he is but I send my greetings to him
as well.
Civitas is a group that I used to be
active in during 2003 - 2005 (I
released three demos & a few diskmag
articles). Unfortunately in the recent
years I failed to keep in touch with
them. I do not know what they are
doing nowadays or their most recent
member status. But greetings to my
good friend Zeitgeist over there
CF: What is your first experience with
Commodore machines
NL: Hmm I know this part tends to be
boring in the interviews & I know you
have to ask it anyway :) So let me keep
it short by saying, I got my C64 back
in 89. The first game I played was
Commando. After about a week I started
coding BASIC.
CF: Are you still an active Coder,
what has been your most recent work?
NL: I would like to call my self an
active coder yes :) Even though in the
demo scene I do not consider someone
active unless they have released
something in the last 2 years & the
very fact that you are asking this
question makes it harder for me to
call myself active :) My most recent
"released" work is the Living demo by
Glance (2005). In the meantime I was
a part of the demo review diskmag
called "Nordic Scene Review" but that
is not the same thing as coding. My
most recent "close to being released"
work is the C=++ or cepp compiler
project. I hope to release it at the
CommVex 2008. Other than that there
are off course many unfinished
progects or ideas (and even a few
games) in my hard drives waiting to be
released. Just like most of the other
coders out there.
CF. What is your most technical
achievement with the C64?
NL: Hmm I think I really do not have
anything big enough to call a big
technical achievement, but I guess I
have three smaller technical
achievements that I feel good about.
One of them is the "moving light
source vector" part in Mist/Civitas
(2004). I have not seen that effect in
any other demo in C64 so I think it is
an unpopular world first :) (not that
it is too hard to do or anything). The
second one is the "doom" part in
Living/Glance (2005) a coder I respect
a lot (Oswald/Resource) called it "the
best doom effect" in a comment &
that is an achievement for me. The
third one is "3d dot torus" in
Living/Glance which happens to be the
world record in real time 3d dots
effects which another one of my
favourite coders (HCL/Booze Design)
said he jumped when he saw (Again a
big moment for me to read him saying
that).
I know these "achievements" sound good
when you read them in text but believe
me they are not that good. Each one of
these effects could be produced much
better/cleaner/faster.
I also have a managerial achievement
:) In 2005 I decided to go to Floppy
party in Sweden & had 10 days to
make a demo. I had a very very careful
planning & implementation & was able to
complete the demo single handedly just
about 2 hrs before the deadline :) It
turned out to be an OK demo too. Even
though it is not a huge success I never
ever matched the efficiency level I had
at that project in any other project.
CF. Do you code for any other
machines, Commodore or non commodore?
NL: Well, at work in past I coded for
a zillion different embedded cores for
different consumer products (mostly
digital TV receivers in UK). I also
coded for PC games professionally &
nowadays I code in the Windows empire
(I duck here from incoming rotten
tomatoes from Commodore fans :) )
CF. What exactly is C= ++ is this a
Commodore extension of the C++
programming language?
NL: Well C=++ (you can read it as
Commodore plus plus) is two things. A
language & a compiler for it. The
Language part is a carefully selected
subset of the C++ language with a few
minor Commodore specific extensions.
It is somewhat hard to explain the
language to people who do not know the
C++ language. In short, it is a
language that has the same syntax as
C++ but supports less features. I
tried to select the subset so that it
covers the most used aspects of the
language (like classes with
constructors, destructors, public &
private methods & attributes, &
new/delete) & left out the parts
that would be slow or memory
inefficient to implement on C-64 (like
templates & inheritence are left out).
The notes inside the parentheses in
the previous sentence are intended for
those who know at least a little about
object oriented languages (C++, java,
C#). The main goal of the language is
to enable programmers to write logic
intensive object oriented parts of
their code in C++ while using assembly
to optimize the most performance
critical parts. The language is
designed to be easily integrated with
assembly. You can call C++ code from
you assembly & call assembly
routines from your C++ code easily.
CF. How does C++ Differ from the C
programming language?
NL; C++ was originally designed to add
Object Orientation related features on
top of C language & was aiming to be
still pretty fast by being close to
hardware. It mostly managed to achieve
this aim & is the language of choice
in most of the PC software that is
required to be fast (like games for
example). Today it is mostly considered
to be a pretty low-level (meaning close
to hardware) language compared to the
.NET languages or Java. Unfortunately
it still is a pretty high-level
language for 6502 CPU. That's why I had
to cut some of its features while
defining C=++.
CF. Why was there a need for a C=
version of C++ language
NL: I ran into the need while trying
to make a strategy game for Commodore
about 3 years ago. For any serious
piece of software in C64 for many
years, almost only choice was the
assembly language. For most things
anything else will be too slow. But
even though assembler is suitable for
efficient graphic algorithms or cycle
exact raster code, it is not suitable
for code that has complex logic &
objects with complex dynamic
lifetimes. This happens for example in
a strategy game where you create many
buildings & units that live, do stuff
for sometime & die. It is hell to try
to manage that in assembly. These kinds
of stuff are more suitable for higher
level Object Oriented languages.
In recent years there have been
attempts at making higher level (but
not Object Oriented) languages. There
is the cc65 C compiler, & Slang
language for instance. I have not used
cc65 but it is used in some serious
projects so it must be good. I have
not used Slang either mostly because
it does not seem to have the OO
properties I required. Plus I had been
looking for an opportunity to try my
hands on making a compiler for some
time. When all these conditions came
together I decided to make my own OO
C++ compiler.
CF. Does the language run natively on
a C64 or does it run on other hardware
to produce Commodore Code?
NL It runs on Windows or Linux PCs.
Your source files are all on a PC &
you compile them with cepp (The C=++
compiler) that gives out C64 assembly
files (still on PC). Then you assemble
them with Acme cross-assembler by
Marco Baye. Then you get a c64 binary
.prg file which you can run on a real
C64. So this tool is designed to be
used in cross development scenarios.
CONTINUED IN PART 2